package com.ly.heart.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ly.common.core.domain.ActCurrentTaskVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
@JsonInclude(JsonInclude.Include.ALWAYS)
@ApiModel(value="客户列表返回Vo")
public class CustomerVo implements Serializable {

    @ApiModelProperty("id")
    private String id;

    @ApiModelProperty("电话")
    private String telPhone;

    @ApiModelProperty("客户名称")
    private String customerName;

    @ApiModelProperty("地址")
    private String address;

    @ApiModelProperty ("省份")
    private String provinceName;

    @ApiModelProperty ("城市")
    private String cityName;

    @ApiModelProperty ("区县")
    private String countyName;

    @ApiModelProperty("备注")
    private String remarks;

    @ApiModelProperty("客户属性")
    private String customerAttributeName;

    @ApiModelProperty("跟进时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date followTime;

    @ApiModelProperty("跟进描述")
    private String followDesc;

    @ApiModelProperty("下次跟进时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nextFollowTime;

    @ApiModelProperty("跟进次数")
    private String followCount;

    @ApiModelProperty("最后销售日期，取最后一个销售出库单日期；")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date latestSaleTime;

    @ApiModelProperty("最后销售距今天的天数，根据销售出库单日期计算")
    private String latestSaleToDays;

    @ApiModelProperty("最后拜访日期，取商机拜访最后日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date latestVisitTime;

    @ApiModelProperty("创建日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty("最后拜访距今天的天数，根据最后拜访日期计算出来的")
    private String latestVisitToDays;

    @ApiModelProperty("流程实例id")
    private String instanceId;

    @ApiModelProperty("审核状态")
    private String state;

    @ApiModelProperty ( "当下审批人" )
    private String approvedUser;

    @ApiModelProperty ( "审批内容" )
    private String approvedRemark;

    @ApiModelProperty ( "当前任务信息" )
    @TableField ( exist = false )
    private ActCurrentTaskVo currentTask;

}
